home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / basic / gfactory.zip / GFDOC.TXT < prev    next >
Text File  |  1992-09-21  |  34KB  |  659 lines

  1. The Graphics Factory
  2. Copyright (C) 1992 James A. Sausville
  3. All Rights Reserved
  4.  
  5. I. INTRODUCTION
  6. ---------------
  7.  
  8. The Graphics Factory is a utility that allows you to create sets
  9. of graphics for use in your own basic programs. While intended for
  10. use with Quick Basic V4.5 , the graphics created by this program
  11. can be used by any version of basic that supports Microsoft
  12. compatible BLOAD and PUT graphics commands. To start the Graphics
  13. Factory, type GFACTORY at the DOS prompt.
  14.  
  15.  
  16. HARDWARE REQUIREMENTS
  17.  
  18. The recommended minimum hardware configuration for the graphics
  19. factory is an IBM compatible with a 286 microprocessor and 640k
  20. of RAM. The program will run on XT compatibles, albeit rather
  21. slowly. The amount of free RAM required is approximately 571,648
  22. bytes. Please note that free RAM is the amount of memory available
  23. to a program after DOS, device drivers and TSR programs are loaded.
  24. You can check the amount of free RAM you have available by running
  25. the DOS check disk program. Type "CHKDSK" at the DOS prompt when
  26. you have your DOS disk in drive A:, or when you are logged into the
  27. DOS directory on your hard disk, to run this DOS program.
  28.  
  29.  
  30. SCREEN DESCRIPTION
  31.  
  32. The large rectangle in the upper left corner of the screen is the
  33. editing window. All drawing and editing of the current image is
  34. performed in this window. The image in the editing window is a 6X
  35. magnification of the current image.
  36.  
  37. The small rectangle in the center of the screen is the active frame.
  38. The current image is displayed normal size in the active frame. All
  39. changes made in the editing window are immediatly shown in the
  40. active frame.
  41.  
  42. There are 48 storage frames located at the bottom of the screen.
  43. Graphic images you create can be stored in these frames. There are
  44. six pages of storage frames, only one of which is displayed on
  45. screen at a time.
  46.  
  47. The line of text at the top left of the screen is the mode and
  48. message line. It displays the current drawing mode (dot,line,etc.)
  49. or the current active funtion (circle,box,etc.), along with
  50. instructions on what input may be required. Any text that appears
  51. in a window at the center of the screen supercedes any text that
  52. is on the mode line.
  53.  
  54. Immediately below the mode line is the main menu. There are two
  55. columns of commands, each command preceded by a letter in brackets.
  56. Pressing the letter key indicated in brackets will activate the
  57. command (or function). Pressing the escape key [Esc] will cancel
  58. (abort) a function in progress and return you to the main menu.
  59. Mouse users may simply move the mouse cusor over the desired command
  60. and press the left mouse button to activate it.
  61.  
  62. Below the menu is a status line that informs you of the current
  63. frame size and which page of graphics is currently diplayed (Active
  64. Page). Below the status line and above the active frame the current
  65. X and Y locations of the drawing cursor are displayed. This display
  66. allows more accurate placement of circles and other graphics.
  67.  
  68. Below the status line and to the right of the active frame is the
  69. color palette. An arrow above the colors indicates the current
  70. drawing color. Keyboard users should press the [<] and [>] keys
  71. to change the drawing color. Mouse users should move the mouse cursor
  72. over the desired color and press the left mouse button to select it.
  73.  
  74.  
  75. II. SUMMARY OF COMMANDS
  76. -----------------------
  77.  
  78. The commands are presented in the order they appear on the screen.
  79. Where necessary, separate instructions are provided for keyboard and
  80. Mouse users.
  81.  
  82. [A] Animate Frames - This function allows you to define a series
  83. of frames as an animation sequence. The program displays the maximum
  84. number of frames you may include in the sequence on the mode line
  85. and prompts you to select the first frame. Keyboard users should
  86. use the cusor keys to move the flashing frame border to indicate
  87. the first frame, pressing [Enter] to select the frame. You may select
  88. a frame on a different storage page by pressing the [Tab] key to
  89. cycle through the storage pages.
  90.  
  91. Mouse users should move the mouse cursor over the desired frame and
  92. press the left mouse button to select it. The storage pages may be
  93. cycled through by moving the mouse cursor over the "[Tab] Next Page"
  94. portion of the menu and pressing the left mouse button.
  95.  
  96. The frame selected should appear in the active frame. The program
  97. will then prompt you for the next frame in the animation sequence.
  98. The same frame may be used as many times as desired in the sequence.
  99. Press [Esc] when you have finished selecting frames for the animation
  100. sequence. Mouse users may move the mouse cusor outside of the storage
  101. frames and press the left mouse button to end the selection.
  102.  
  103. The animation sequence will now be displayed in the active frame.
  104. Press the [<] key to decrease the display rate and the [>] key to
  105. increase the display rate. Mouse users should move the mouse cursor
  106. over the "[<]" and "[>]" symbols above the color palette and press
  107. the left mouse button to change the display rate. Pressing the left
  108. mouse button when the cursor is anywhere else will end the display,
  109. as will pressing the [Esc] key.
  110.  
  111. Next the program will ask if you want to save the animation sequence
  112. as a frame set. This allows the use of simple (but memory inefficient)
  113. animation, instead of the type shown in the example program
  114. "JACKDEMO.BAS". If you choose to save the sequence you will be
  115. prompted to enter the path (drive & directory) and file name you
  116. desire.
  117.  
  118. [B] Frame Boundaries - Allows you to change the maximum width and
  119. height of your graphics. Any graphic in the active frame will be
  120. cropped (if necessary) to fit the new dimensions. A new right and
  121. bottom margin are set up inside of the editing window. No drawing
  122. or editing can take place outside these boundaries. You should
  123. normally set the size of your frames before you start drawing. When
  124. you load two sets of frames of different size the boundaries should
  125. be set to accomodate the larger frames.
  126.  
  127. [C] Clear Active Page - Erases all of the graphics in the storage
  128. page currently displayed at the bottom of the screen.
  129.  
  130. [D] Duplicate Frame - Will make an exact copy of one storage frame
  131. appear in another storage frame. Very useful for "experimenting" on
  132. a graphic without destroying the original. Simply select the frame
  133. to duplicate, and then select the frame to copy it to. Mouse users
  134. should select a frame by moving the mouse cursor over the desired
  135. frame and pressing the left mouse button. Keyboard users should
  136. use the cusor keys to move the flashing frame border to indicate
  137. the desired frame, pressing [Enter] to select it.
  138.  
  139. [E] Erase Frame - Will erase the contents of the active frame.
  140.  
  141. [F] Fill Area - Works just like the Quick Basic PAINT command. You
  142. are prompted to select a color to fill with. Mouse users should
  143. move the mouse cursor over the desired color and press the left
  144. mouse button. Keyboard users should press the [<] and [>] keys to
  145. move the indicator arrow to the desired color and press [Enter].
  146.  
  147. Next you are asked to select the color the fill will terminate at.
  148. If, for example, you wanted to fill a red circle, red should be
  149. chosen as the color the fill should stop at. Choose this color in
  150. the same manner as you did before.
  151.  
  152. Finally you will be asked to indicate where the fill will start.
  153. Move the mouse cursor to the desired area of the editing window
  154. and press the left mouse button, or use the cursor keys to move
  155. the editing cursor to the desired area and press [Enter].
  156.  
  157. [G] Get Frame - Allows you to retrieve an image from the storage
  158. frames at the bottom of the screen and place it in the active frame.
  159. After pressing [G] to activate the command, keyboard users should
  160. use the cursor keys to move the flashing frame border to the desired
  161. frame, pressing [Enter] to select it.
  162.  
  163. Mouse users can retrieve a frame by moving the mouse cursor over
  164. the storage frames and pressing the left mouse button, then by moving
  165. the mouse cursor to the specific frame and pressing the left mouse
  166. button again. (There is no need to press the [G] key or to "click"
  167. on the main menu to get a frame with the mouse!)
  168.  
  169. [H] Horizontal Flip - Reverses the image from left to right.
  170. Activating the command a second time will flip the image back.
  171.  
  172. [L] Load Frames - Opens the Load Frames sub-menu. When loading frames
  173. you are asked if you wish to search for files on the current path
  174. with the current file mask. The file path and file mask are used in
  175. the same way as MS-DOS uses them. The file path consists of the
  176. drive and directory you want to search for files. The file mask
  177. allows you to search for files that have a certain extension (such
  178. as *.BAS) or start with a certain letter (such as A*.*).
  179.  
  180. After the path and mask are selected, the program will display all
  181. of the files it finds on the path that match the file mask. (Note:
  182. only the first 200 files will fit on the screen!) Keyboard users
  183. should type in the name of the file they wish to load and press
  184. [Enter]. Mouse users should move the mouse cursor over the name of
  185. the desired file and press the left mouse button.
  186.  
  187.   [1] Load a Single Frame - A single image stored in a file by itself
  188.   may be loaded into the active frame. No palette or size information
  189.   is saved or loaded with a single frame. The frame size is reset to
  190.   48 x 32 when a single frame is loaded.
  191.  
  192.   [2] Load a Set Sequentially - A set of frames will be loaded into
  193.   the storage pages in consecutive frames. The frames may load into
  194.   multiple storage pages. You select the first frame on any page
  195.   that the frames will begin loading into. Some caution must be
  196.   exercised as the frames will overwrite images that are stored in
  197.   the indicated frames.
  198.  
  199.   [3] Load a Set Randomly - A set of frames is loaded into memory
  200.   and displayed, one at a time, in the active frame. You select
  201.   which frame in the storage pages each loaded frame will occupy.
  202.   
  203.   [4] Make a .SET File - In order to load a set of frames the Graphics
  204.   Factory a ".SET" file is required. When the Graphics Factory saves a
  205.   set of frames a ".SET" file is automatically created. This file
  206.   details the number of frames in the set, their dimensions, their size
  207.   (or their offset within the file) and the palette that was used to
  208.   create them.
  209.  
  210.   This option allows you to attempt to create a ".SET" file for
  211.   graphics created by other software. If the graphics are saved in
  212.   standard memory imaged format (BSAVE/BLOAD), and the graphics have a
  213.   common offset within the file, it should be possible to create a
  214.   ".SET" file to load them.
  215.  
  216.   If you choose to create a ".SET" file the program will prompt you
  217.   to enter the number of frames in the set and their x and y
  218.   dimensions. After the dimensions have been entered the program will
  219.   calculate the correct array size, which is used by the Graphics
  220.   Factory as the correct offset when it saves frames. Frames that
  221.   have been created by other means may be saved with a larger than
  222.   necessary offset. For example, I had a set of 30 x 13 frames that
  223.   should have been saved with an offset of 106, but had been saved
  224.   with and offset of 200. You have the option of using the current
  225.   palette in your file or entering palette data yourself.
  226.  
  227.   [5] Turn Warnings On/Off - When you load a single frame or overlay
  228.   frames you will receive a warning that the active frame will be
  229.   erased. This can be usefull unless you are loading a large number
  230.   of single frames or using overlay frequently, in which case it can
  231.   be highly annoying. This option allows you to turn these warnings
  232.   on and off.
  233.  
  234. [M] Move Image - Allows you to move the image in the active frame up,
  235. down, left or right. Keyboard users should press the cursor keys to
  236. move the image, pressing [Enter] to end. Mouse users should move the
  237. mouse cursor to a point just inside the edge of the editing window in
  238. the direction they want the image to move and press the left mouse
  239. button. Pressing the left mouse button when the mouse cursor is ouside
  240. of the editing window will end the function.
  241.  
  242. [Tab] Next Page - There are six storage pages, only one of which is
  243. displayed on the screen at a time. Pressing the [Tab] key or pressing
  244. the left mouse button when the mouse cursor is over the "[Tab] Next
  245. Page " command will display the next storage page."
  246.  
  247. [N] New Palette - Used to change the 16 availble colors on the
  248. palette. Keyboard users should use the [<] and [>] keys to move the
  249. indicator arrow to point at the desired color and then press [Enter].
  250. Use the [<] and [>] keys again to cycle through the 64 available
  251. colors, pressing [Enter] when done.
  252.  
  253. Mouse users should select the color to change by moving the mouse
  254. cursor over the desired color and pressing the left mouse button.
  255. Then move the mouse cursor over the "[<]" and "[>]" symbols above
  256. the color palette and press the left mouse button to cycle through
  257. the available colors. Move the mouse cursor over the color you are
  258. changing and press the left mouse button again to finalize the color
  259. selection.
  260.  
  261. [O] Overlay Frames - This function will allow two graphics in the
  262. storage frames to be merged, one on top of the other, to create a
  263. new graphic in the active frame. The bottom graphic is selected
  264. first, and then the graphic to be overlayed is chosen. If the warning
  265. messages are turned on you will be advised that the active frame
  266. will be erased. Any image in the active frame should be stored in
  267. the storage frames before using the overlay function. This is a
  268. non-destructive command as the original graphics are copied from
  269. the storage pages and not removed.
  270.  
  271. [P] Put Frame - Moves the image in the active frame to a storage
  272. frame. Keyboard users should move the flashing frame border to
  273. indicate the desired storage frame and press [Enter].
  274.  
  275. Mouse users can store a frame by moving the mouse cursor over the
  276. active frame and pressing the left mouse button. Then by moving the
  277. mouse cursor over the desired storage frame and pressing the left
  278. mouse button again. (There is no need to press the [P] key or to
  279. click on the "[P] Put Frame" area of the menu to put a frame with
  280. the mouse!)
  281.  
  282. [Q] Quit to DOS - Exits the program and returns you to DOS. What
  283. else did you think it would do?
  284.  
  285. [R] Rotate Image - The image in the active frame will be rotated 90
  286. degrees to the right. Rotate only works with images that are perfectly
  287. square. If an image is taller than it is wide or wider than it is tall
  288. the image will be cropped to make it square. For example, a 48 x 32
  289. image will be cropped to 32 x 32 before it is rotated. Please use the
  290. duplicate function to make a copy of your image before subjecting it
  291. to the rotate function.
  292.  
  293. [S] Save Frames - Opens the Save Frames submenu. When you are saving
  294. frames you have the option to save on the current path or to set a new
  295. path. The save path is the same as an MS-DOS path (drive & directory).
  296.  
  297. When the Graphics Factory saves a set of frames a ".SET" file is
  298. created. This is a file that details the number of frames in a set,
  299. their x and y dimensions, their size in integer arry elements (or
  300. their offset within the file - if different) and the palette used to
  301. create them. The ".SET" file is REQUIRED by the Graphics Factory to
  302. load a set of frames. The information in a .SET file can be loaded
  303. into your program along with the graphics (see the example program
  304. JACKDEMO.BAS and the section on using the graphics for details). A
  305. ".SET" file is created automatically each time you save a set of
  306. frames. If you save a file named "GRAPHICS.XXX", the ".SET" file
  307. will be named "GRAPHICS.SET". You should not give two graphics files
  308. the same name with different extensions as this will cause the ".SET"
  309. files to overwrite each other (the names GRAPHICS.X1 and GRAPHICS.X2
  310. would cause this problem).
  311.  
  312. It should be noted that once a set of frames is saved it may be loaded
  313. sequencially or randomly, regardless of how it was saved. The extensions
  314. ".SET" (set file), ".PAL" (palette), and ".PAT" (pattern) should not be
  315. used for graphics filenames.
  316.  
  317.   [1] Save a Single Frame - The active frame is saved to disk in
  318.   BSAVE/BLOAD format. No ".SET" file is created for a single frame and
  319.   no palette information is saved.
  320.  
  321.   [2] Save a Sequential Frame Set - A set of frames is saved to disk
  322.   in the order they appear in the storage pages. The program will
  323.   inform you of the maximum number of frames that can be saved at the
  324.   current frame size. You are asked to indicate the starting and
  325.   ending frames (inclusive) in the sequence to be saved. The ending
  326.   frame may be on a differ page from the starting frame.
  327.  
  328.   [3] Save a Random Frame Set - This option will save a set of frames
  329.   in the order that you choose. You may select any frame from any page
  330.   up to a maximum limit of 256 frames. The actual number of frames
  331.   that you may save is dependent on the current frame size. When you
  332.   choose this option a window will appear telling you the maximum
  333.   number of frames that may be saved.
  334.  
  335.   [4] Show Save Calculations - Displays the maximum number of frames
  336.   that may be saved at the current frame size, the size of an integer
  337.   array needed to hold a single frame (at current frame size), and the
  338.   amount of disk space a single frame will take (in bytes).
  339.  
  340.   [5] Turn Warnings ON/OFF - Performs the same function as it does on
  341.   the load frames submenu (see above).
  342.  
  343. [V] Vertical Flip - Inverts the image in the active frame.
  344.  
  345. [W] Wipe All Pages - Erases all storage frames on all six storage
  346. pages.
  347.  
  348. [X] Exchange Frames - Allows you to switch the location of two
  349. frames on the SAME storage page. One of the frames may be a blank
  350. (empty) frame. Exchanging the location of two blank frames is an
  351. exercise in futility (Grin).
  352.  
  353. [Z] Shapes & Things - This is the primary submenu for the Graphics
  354. Factory. The menu has a crowded appearance due to the fact that many
  355. of these functions were not a part of the original program design.
  356.  
  357. Many of the functions on this menu require you to select reference
  358. points within the editing window. These points amy be selected as
  359. follows: Keyboard users should use the cursor keys to move the drawing
  360. cursor to the desired point, pressing [Enter] to select it. Mouse
  361. users should move the mouse cursor to the desired point and press the
  362. left mouse button. Mouse users may reposition the drawing cursor
  363. without making a selection by pressing the right mouse button instead.
  364. This allows you to use the X and Y position indicators for more
  365. accurate positioning of circles, etc. with the mouse.
  366.  
  367. [1] Draw a Circle - Will draw a circle of the desired radius in the
  368. current drawing color. First select the center point of the circle.
  369. Then select a radius point along the horizontal or vertical axis. A
  370. circle will be drawn around the center point that will pass through
  371. the radius point.
  372.  
  373. [2] Draw a Rectangle - Will draw a square or rectangle in the current
  374. drawing color. First select the upper left corner of the rectangle,
  375. then select its lower right corner.
  376.  
  377. [3] Draw an Elipse - Will draw a circular shape in the current drawing
  378. color. First select the center point of the elipse, then select the
  379. horizontal radius point (x radius). After that select the vertical
  380. radius point (y radius). An elipse will be drawn around the center
  381. point passing through both radius points.
  382.  
  383. [4] Dot Mode - This is the standard (default) drawing mode. When not
  384. in a function, pressing [Enter] (or the left mouse button) will make
  385. a dot of the current color appear under the drawing cursor (or under
  386. the mouse cursor if using a mouse). Pressing [Enter] again with the
  387. cursor in the same place (using the same drawing color) turns the dot
  388. back to the background color (color 0).
  389.  
  390. [5] Line Mode - Allows you to draw lines in the editing window instead
  391. of turning single points to the current drawing color. After selecting
  392. this mode, all points selected in the editing window will be treated
  393. as pairs. The first point selected is one end of the line and the
  394. second point selected is other end. After the second point is selected
  395. a line will be drawn in the current drawing color.
  396.  
  397. [6] Continuous Line Mode - All points selected are connected by a line
  398. to the previous point selected. This continues until the drawing mode
  399. is changed.
  400.  
  401. [7] Inverse Image - Performs a logical inverse of the image in the
  402. active frame. Works just like the "preset" mode of the Quick Basic
  403. PUT graphics command. Color 0 and color 15 are switched, color 1 and
  404. color 14 are switched, etc. If you are unhappy with the result,
  405. choose the command again and the image will change back.
  406.  
  407. [8] Inverse Program - The easy way to work on graphics with a light
  408. colored basckground. Changes the background color (color 0) to white
  409. and the text/border color (color 15) to black.
  410.  
  411. [9] Change Color 15 - Color 15 is the color of all frame bounderies
  412. and text messages. It is usually set to white and cannot be changed
  413. with the "[N] New Palette" command. Caution should be used when
  414. changing this color as it can make the display unreadable.
  415.  
  416. [0] Load/Restore Palette - Opens the palette sub-menu that allows you
  417. to save and load palettes as well as restore the default palette.
  418.  
  419.     [1] Restore Default Palette - Changes the palette to the standard
  420.     MS-DOS/Quick Basic palette for screen mode 9 (EGA 640 x 350).
  421.  
  422.     [2] Graphics Factory Palette - The palette I use most often. (It's
  423.     my program AND I'll include my own palette if I want to!)
  424.  
  425.     [3] Save Current Palette - The current palette will be saved to
  426.     disk. You select a save path and a file name without an
  427.     extension. A ".PAL" extension will be added to the file name.
  428.  
  429.     [4] Load Palette - Will load a saved palette. Lists all ".PAL"
  430.     files on the selected path.
  431.  
  432. [A] Pattern Fill - Allows you to fill an area of the editing window
  433. with a user defined pattern.
  434.  
  435.     [1] Create a Pattern - Works like the dot drawing mode. Select
  436.     colors as you normally would and create an 8 x 8 pattern in the
  437.     upper left corner of the editing window. The graphic in the active
  438.     frame will not be affected. After you have completed the pattern
  439.     you have the option to save it before proceeding with the fill.
  440.     Enter the save path and a filename without an extension. A ".PAT"
  441.     extension will be added to the filename.
  442.  
  443.     As with the regular fill function you need to select the color
  444.     that the fill will terminate at, and a point to begin the fill.
  445.     
  446.     [2] Load a Fill Pattern - After selecting a path to search on, a
  447.     list of ".PAT" (pattern) files will be displayed. Select one of
  448.     the files and the fill will proceed as if you had created a new
  449.     pattern (see above). The palette that was used to create the
  450.     pattern is saved along with the pattern. If when the pattern is
  451.     loaded the current palette and the saved palette do not match,
  452.     you have the option of making the saved palette the current
  453.     palette.
  454.  
  455. [B] Block Erase - Works the same as creating a rectangle, only the
  456. area indicated is erased. Simply select the upper left corner of the
  457. area to erase, followed by the lower left corner.
  458.  
  459. [C] Cut & Paste
  460. [D] Copy & Stamp
  461. Both of these functions are identical, with one important exception.
  462. Cut & Paste will delete the area indicated, while Copy & Stamp will
  463. not.
  464.  
  465. When you use these functions the color palette is temporarily replaced
  466. by a copy/paste buffer window. You indicate a rectangular area to be
  467. cut or copied by indicating its upper left and lower right corners.
  468. The area indicated will appear in the copy/paste buffer. Four cursors
  469. will appear indicating the size of your cut/copied area. Using the
  470. cursor keys or the right mouse button, reposition the cursors to
  471. indicate the new position of the cut/copied graphic (mouse users
  472. should keep in mind that they are controlling the upper left cursor
  473. with the mouse). When the cursors are positioned where the paste/stamp
  474. will occur, press enter or the left mouse button (keeping the mouse
  475. pointer on the upper left corner).
  476.  
  477. During these functions, the Get Frame, Put Frame, and Next Page
  478. functions are still operational. Once you have an image in the
  479. copy/paste buffer it may be pasted (or stamped) as many times as you
  480. like, in as many graphics as you like.
  481.  
  482. [E] Add Text - Allows you to add numbers, letters and some punctuation
  483. symbols to your graphics. First select a color for your text, then
  484. type in a string, 6 characters maximum. Four cursors will appear
  485. indicating the approximate size of the text. The size is only
  486. approximate due to the fact that the different letters have different
  487. heights  and widths. Position the cursors to stamp the text where you
  488. desire (see preceeding command summary). The text string may be
  489. stamped multiple times on a graphic.
  490.  
  491.  
  492. III. USING GRAPHIC FACTORY GRAPHICS IN YOUR OWN PROGRAMS
  493. --------------------------------------------------------
  494.  
  495. The demo program JACKDEMO.BAS has been provided to give a simple
  496. example of how to use the graphics you create in your owm programs.
  497. This demo does not set new standards in graphic excellance, but is
  498. intended to show you the basics. This program was designed to be
  499. used with Quick Basic version 4.5, but it should work with any basic
  500. that supports Microsoft compatible BLOAD and PUT graphics statements.
  501. Other programming languages may be able to load and display the
  502. graphics. The graphics (and the .SET file) are saved in standard
  503. memory imaged (BSAVE) format to allow their loading with the BLOAD
  504. command.
  505.  
  506. Please refer to the program listing as you read the following. After
  507. setting the screen mode (SCREEN 9 - EGA 640 x 350 16 color mode) the
  508. demo program loads the ".SET" file. It is not necessary to load the
  509. information in the ".SET" file as this information can be contained
  510. in your program itself. The ".SET" file contains information on the
  511. number of frames in the set, their X and Y dimentions, the number of
  512. integer array elements needed to store one frame (also used as the
  513. offset of the frames within the file), and the palette used to create
  514. the frames (16 colors), in that order. The palette information is
  515. stored in an integer array and the colors are set with the palette
  516. using command (PALETTE USING arrayname%). The information on the
  517. number of frames (NumFrames%) and their size (ELEMENTS%) are used to
  518. dimension an array to store the graphics - DIM JACK%(NumFrames% *
  519. ELEMENTS%). The graphics are then loaded using the BLOAD command.
  520.  
  521. The animation sequence is stored in the string ANIM$. The two digit
  522. numbers in the string represent the frame to be displayed. The program
  523. simply displays the frames in the order they appear in the string.
  524. The animation in the Graphics Factory title screen was created in a
  525. similar way. (Note - All of the title screen graphics were quickly
  526. and easily created using the Graphics Factory itself!) The "PSET"
  527. option at the end of the PUT statement causes each new frame to
  528. completely overwrite the previous one, hence no erasing of the image
  529. is required.
  530.  
  531.  
  532. IV. ERRORS AND ERROR WINDOWS
  533. ----------------------------
  534.  
  535. Most of the errors that can occur in the Graphics Factory are the
  536. result of failed disk operations. A window will appear informing you
  537. that the operation has been halted and the error that occured. also
  538. included in this section are several non-error caution/information
  539. windows that may appear when sets of frames or patterns are loaded.
  540. The following is a list of possible errors, their causes, and a few
  541. solutions.
  542.  
  543. FILE NOT FOUND ERROR - The file name you typed in was not located on
  544. the current disk or directory, or the file name was incorectly typed.
  545. Mouse users should use the mouse to select the file from the on screen
  546. directory and avoid this error entirely.
  547.  
  548. WRONG FILE TYPE ERROR - All files loaded by the graphics factory must
  549. be memory imaged files (i.e. created by BSAVE). Attempting to load
  550. any other type of file (a text file for example) will cause this
  551. error.
  552.  
  553. WRONG FILE SIZE ERROR - Pattern files, palette files, and ".SET" files
  554. all have specific sizes. Attempting to load a graphics file as a
  555. pattern, for example, will cause this error.
  556.  
  557. Single frames created by Quick Basic programs can be loaded into the
  558. Graphics Factory provided they take up 779 bytes of disk space or less.
  559. Attempting to load a larger graphic will cause this error. The number
  560. at the bottom left of the error window is the size, in bytes, of the
  561. file you attempted to load.
  562.  
  563. The ".SET" file contains information on the size of the graphics that
  564. is used to calculate how large the matching graphics file should be.
  565. If the ".SET" file and the graphics file do not match this error will
  566. occur.
  567.  
  568. BLOAD TRANSFER CORRUPT - For some unknown reason some computers
  569. experience a data corruption with large BLOAD file transfers. I have
  570. no idea what causes this error. If this error occurs simply attemp
  571. to load the file a second (and possibly a third) time. If a file
  572. never loads correctly, the file (or the disk) is probably defective.
  573.  
  574. One solution to the problem is to save and load graphics on floppy
  575. disks only, as the error seems confined to hard disk loads. (This
  576. will also prevent you from filling your hard disk with graphic files!)
  577. I suspect the problem lies in a hardware-software incompatibility,
  578. although I have no proof of this. The profile of one affected system
  579. is as follows: 286 AT compatible runnig at 12.5 MHZ, a 40MB IDE hard
  580. disk, using Disk Manager software as a hardware driver.
  581.  
  582. If anyone knows the cause of this mysterious data corruption, or
  583. better yet has a solution, please drop me a line and let me know.
  584.  
  585. DRIVE SPECIFIED DOES NOT EXIST - The drive or directory you specified
  586. for a load or save operation cannot be located by MS-DOS.
  587.  
  588. INSUFFICIENT SPACE ON DRIVE X - There was not enough bytes free on the
  589. drive specified to save your file.
  590.  
  591. FRAME SIZE MISMATCH - The size of the frames that you are loading is
  592. different than the current frame size. You have the option of setting
  593. the current frame size to match the loaded frames. When frames of
  594. different sizes are loaded at the same time frame size should be set
  595. to accomodate the larger frames.
  596.  
  597. PATTERN PALETTE MISMATCH - The palette of a saved pattern is different
  598. than the current palette. You have the option of setting the current
  599. palette to match the pattern's palette.
  600.  
  601.  
  602. V. WHY I AM NOT (YET) AN ASP MEMBER
  603. -----------------------------------
  604. The ASP (Association of Shareware Professionals) is a fine
  605. organization attempting to make shareware the most viable method
  606. of software distribution possible. They have set policies of
  607. professional conduct and integrity that I stand behind 100%.
  608. I realize that indirectly I will benefit from their actions even
  609. though I am not a member.
  610.  
  611. This software meets all ASP requirements with one major exception.
  612. During execution, this program will create a registration reminder
  613. screen (RRS) every 15 minutes. This screen (a window actually) is
  614. intended to remind you of your legal and moral obligation to register
  615. this software if you use it on a regular basis. The ASP guidelines
  616. state that such a RRS may appear only twice during the execution of
  617. a program. Since there is no way to determine how long this software
  618. will be used in a tryout session, the message may appear an infinite
  619. number of times.
  620.  
  621. It should be noted that the RRS is abortable after 3 seconds (within
  622. ASP guidlines) and will not interupt any important program fuction.
  623. If you are in a sub-menu, drawing a circle, saving frames, etc. the
  624. RRS will wait until you return to the drawing mode before exection.
  625. If you use this software for less than 30 minutes you will only see
  626. the RRS twice anyway.
  627.  
  628. the ASP's main concern is that the RRS will become another form of
  629. product crippling, a practice they are very much against. In general
  630. I agree with the ASP on this matter. I am also 100% certain that if
  631. this software were submitted to the ASP that my application for
  632. membership would be rejected.
  633.  
  634. Someday (when I'm not working full time 6 days a week AND runnig a
  635. shareware business!) I will petition the ASP to review their policies.
  636. I am hoping that a compromise can be reached reguarding time
  637. dependent registration reminder screens.
  638.     
  639.  
  640. VI. CONCLUSION
  641. --------------
  642. As of 9/21/92 the Graphics Factory has no known bugs or defects. If
  643. you happen to discover any, please let me know. Registered users are
  644. encouraged to write to me with suggestions for future updates of this
  645. software. This software is not currently published under a company
  646. name due to the fact that I have'nt much of a company - yet!
  647.  
  648. Any of you who saw my previous shareware attempt, Battlefield, and
  649. thought it was a good idea with poor execution, well I agree. You
  650. may be happy to know that a major revision is under way. A mouse
  651. interface and a computer opponent are being added, and an auto
  652. generation feature is being added to the map editor.
  653.  
  654. I hope other programmers who use Quick Basic will find this software
  655. to be as useful as I do. This software (and future versions of it)
  656. will be used to create the graphics for all my future strategy games.
  657. It is my intention to support this software for many years to come.
  658.  
  659.